package com.example.blog.modules.user.service;

import com.example.blog.modules.user.dto.UserDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface UserAdminService {
    /**
     * 获取用户列表，支持分页和关键字搜索
     *
     * @param keyword 搜索关键字（用户名、邮箱或昵称）
     * @param pageable 分页参数
     * @return 用户列表分页结果
     */
    Page<UserDTO> getUsers(String keyword, Pageable pageable);

    /**
     * 更新用户信息
     *
     * @param id 用户ID
     * @param userDTO 用户信息
     * @return 更新后的用户信息
     */
    UserDTO updateUser(Long id, UserDTO userDTO);

    /**
     * 删除用户
     *
     * @param id 用户ID
     */
    void deleteUser(Long id);

    /**
     * 切换用户状态（启用/禁用）
     *
     * @param id 用户ID
     */
    void toggleUserStatus(Long id);
} 